﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using UAXInversionesWeb.logicaNegocio;

namespace UAXInversionesWeb.operario
{
    public partial class TramitarCancelacion : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void tramitarCancel_Click(object sender, EventArgs e)
        {
            int idcliente = 0;

            if (Int32.TryParse(idCliente.Text, out idcliente))
            {
                if (Proxy.checkIdCliente(idcliente))
                {
                    if (Proxy.checkOrdenCliente(ordenesPendientes.SelectedItem.Value, idcliente))
                    {
                        bool resultado = Proxy.cancelarOrden(ordenesPendientes.SelectedItem.Value);

                        if (resultado)
                        {
                            Response.Write("<script>alert('Cancelar orden con id: " + ordenesPendientes.SelectedItem.Value + ".')</script>");
                        }
                        else
                        {
                            Response.Write("<script>alert('Se produjo un error en el servidor.')</script>");
                        }
                    }
                    else
                    {
                        Response.Write("<script>alert('Código de orden no encontrado.')</script>");
                    }
                }
                else
                {
                    Response.Write("<script>alert('Por favor, introduzca un id de cliente válido.')</script>");
                }
            }
            else
            {
                Response.Write("<script>alert('Por favor, introduzca el id del cliente numérico.')</script>");
            }
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            int idcliente = -1;

            if (int.TryParse(idCliente.Text, out idcliente))
            {
                ordenesPendientes.Items.Clear();

                Acciones[] operaciones = Proxy.listadoDeOrdenesPendientes(idcliente);

                for (int i = 0; i < operaciones.Length; i++)
                {
                    ordenesPendientes.Items.Add(new Telerik.Web.UI.RadComboBoxItem(
                        "" + operaciones[i].getEmpresaCotizante() + " - " + operaciones[i].getValor().ToString("N") + " €",
                        operaciones[i].getCodigoDeOrden()));
                }

                idCliente.Enabled = false;
                Button1.Enabled = false;
                tramitarCancel.Enabled = true;
            }
        }
    }
}
